Статья добавлена: 2016-03-20 12:34:18
Автор: Сергей

Обновление портов c помощью csup

CSUP- клиент для обновления
Создаем директорию для конфигурационных файлов
  • mkdir /var/db/cvsup

Создаем файл csup из шаблона
  • cp /usr/share/examples/cvsup/ports-supfile /var/db/cvsup

Нужно заменить строку в файле ports-supfile указав одно из следующих зеркал
  • cvsup2.ua.FreeBSD.org
    cvsup3.ua.FreeBSD.org
    cvsup5.ua.FreeBSD.org
    cvsup6.ua.FreeBSD.org
    cvsup7.ua.FreeBSD.org
Замену делаем следущим образом:
  • vi /var/db/cvsup/ports-supfile

в результате строка примет вид :
  • *default host=cvsup7.ua.FreeBSD.org

Проверяем наличие файла /etc/make.conf и наличае в нем следующих строк
  • SUP_UPDATE=yes
    SUPFILE= /var/db/cvsup/stable-supfile
    PORTSSUPFILE= /var/db/cvsup/ports-supfile
Обновляем дерево портов:
  • cd /usr/ports/ make update
Если портов нету или они не обновляются запускаем так:
  • csup /var/db/cvsup/ports-supfile
Обновляем индексный файл
  • cd /usr/ports/ make fetchindex
Бывают ситуации когда обновление портов не к чему не приводить и все равно не получается обновить порт тогда следует попробывать следущее
  • portupgrade autoconf
а также
  • portupgrade autoconf-wrapper
После установления порта желательно запускать команду
  • rehash
для перечитывания путей.
Иногда бывает ситуация когда просто нужно установить пакет в вашем релизе.
Тогда для этого нам нужно ввести в командной строке
  • setenv PACKAGESITE http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/i386/packages-8.1-release/misc/
Где misc - это раздел где находится наш пакет
Если у вас стоит оболочка bash то команда будет такая:
  • export PACKAGESITE="http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/ports/amd64/packages-8.3-release/mail/"
После чего устанавливаем сам пакет:
  • pkg_add -r mc-4.7.2_1.tbz

Чтобы посмотреть устаревшие пакеты нужно:
  • pkg_version -v | grep "need"

Обновление портов c помощью portsnap

При первом запуске утилите portsnap потребуется загрузить упакованный снэпшот полного дерева портов в каталог /var/db/portsnap/ (/usr/local/portsnap/, если Portsnap был установлен из Коллекции портов.
  • portsnap fetch

После загрузки снэпшота из него может быть развернуто основное дерево портов. Это необходимо, даже есть каталог /usr/ports/заполнен каким-либо другим способом, например при помощи CVSup, поскольку позволяет установить точку отсчета, от которой portsnap будет определять необходимый объем изменений.
  • portsnap extract

После того как первоначальный снэпшот дерева портов будет развернут в каталог /usr/ports/, обновление дерева портов будет состоять из двух шагов: загрузки (fetch) обновлений к упакованному снэпшоту и последующего обновления (update) основного дерева.
  • portsnap fetch update